package cn.buk.api.shdl.dto;

import com.fasterxml.jackson.annotation.JsonAlias;

import java.util.List;

/**
 * 行程解决方案
 * @author yfdai
 */
public class SolutionInfo {

  /**
   * solution id
   */
  @JsonAlias("sId")
  private int id;

  /**
   * solution 的分值，供排序使用
   */
  private int sortScore;


  private AmountInfo bestPointsAcrossAgenciesBaseFare;
  /**
   * solution 的最低票价
   */
  private AmountInfo bestPriceAcrossAgenciesBaseFare;
  /**
   * solution 的最低税
   * 费
   */
  private AmountInfo bestPriceAcrossAgenciesTax;
  /**
   * solution 的最低总
   * 价
   */
  private AmountInfo bestPriceAcrossAgenciesTotal;

  /**
   * 行程信息
   */
  private List<SegmentInfo> requestSegments;

  /**
   * 一个solution 包含
   * 的所有ticket 信息
   */
  private List<TicketInfo> tickets;


  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  public int getSortScore() {
    return sortScore;
  }

  public void setSortScore(int sortScore) {
    this.sortScore = sortScore;
  }

  public AmountInfo getBestPointsAcrossAgenciesBaseFare() {
    return bestPointsAcrossAgenciesBaseFare;
  }

  public void setBestPointsAcrossAgenciesBaseFare(AmountInfo bestPointsAcrossAgenciesBaseFare) {
    this.bestPointsAcrossAgenciesBaseFare = bestPointsAcrossAgenciesBaseFare;
  }

  public AmountInfo getBestPriceAcrossAgenciesBaseFare() {
    return bestPriceAcrossAgenciesBaseFare;
  }

  public void setBestPriceAcrossAgenciesBaseFare(AmountInfo bestPriceAcrossAgenciesBaseFare) {
    this.bestPriceAcrossAgenciesBaseFare = bestPriceAcrossAgenciesBaseFare;
  }

  public AmountInfo getBestPriceAcrossAgenciesTax() {
    return bestPriceAcrossAgenciesTax;
  }

  public void setBestPriceAcrossAgenciesTax(AmountInfo bestPriceAcrossAgenciesTax) {
    this.bestPriceAcrossAgenciesTax = bestPriceAcrossAgenciesTax;
  }

  public AmountInfo getBestPriceAcrossAgenciesTotal() {
    return bestPriceAcrossAgenciesTotal;
  }

  public void setBestPriceAcrossAgenciesTotal(AmountInfo bestPriceAcrossAgenciesTotal) {
    this.bestPriceAcrossAgenciesTotal = bestPriceAcrossAgenciesTotal;
  }

  public List<SegmentInfo> getRequestSegments() {
    return requestSegments;
  }

  public void setRequestSegments(List<SegmentInfo> requestSegments) {
    this.requestSegments = requestSegments;
  }

  public List<TicketInfo> getTickets() {
    return tickets;
  }

  public void setTickets(List<TicketInfo> tickets) {
    this.tickets = tickets;
  }
}
